我这次安装SQL server 2008 R2 是基于window server 2008,所以我们首先要在虚拟机上安装window server 2008系统。注意安装SQL server 2008 R2之前需要安装Microsoft .net framework 3.5组件。在产品密钥这个选项,我安装的这个版本自带密钥的安装,产品密钥是GYF3T-H2V88-GRPPH-HWRJP-QRTYB。安装引导界面几乎都是默认下一步,不过在功能选择这一项的时候需要选中数据库引擎服务和管理工具。注意:一台设备可以安装多个数据库引擎服务,但是只能安装一次管理工具。
--1、查询出姓名不是“陈鹏”的学生的所有信息 Select SNO, SName, Sage, Sex, MobileNO, StuEMail from Student Where SName !='陈鹏' --或者 where SName <> '陈鹏' --或者 Where SName Not In('陈鹏')
--2、查询出学生年龄介于20到30间的学生学号和姓名 Select SNO,SName from Student Where Sage Between 20 and 30 --或者 where Sage >= 20 And Sage <=30
--3、查询哪些学生没有填写“年龄”信息 Select SNO,SName from Student Where Sage is Null
--4、查询一共有多少学生借了书 Distinct 【消除重复项】 Select Distinct SNo from BorrowBook
--- Top 使用 ---
--5、查询学生表的前三行 Select Top 3 SNO, SName, Sage, Sex, MobileNO, StuEMail from Student
--6、查询学生表的前30%行 Select Top 30 percent SNO, SName, Sage, Sex, MobileNO, StuEMail from Student
--- like及通配符 使用 ---
--7、查询出手机号码134或者135开头,倒数第四位为不是5也不是6的学生姓名(Like) Select SName As '学生姓名' from student where MobileNO Like '[1][3][45]%[^56]___'
--- order by、group by及排序使用 ---
--8、查询学生表随机返回多少行 Select Top 3 SNO, SName, Sage, Sex, MobileNO, StuEMail from Student order by NEWID()
--9、统计出男女生的人数 Select Sex As '性别',count(*) As '人数' from Student Group by Sex
--10、对Student表按照年龄升序排序,如果年龄一样,女生排在男生前面 (order by) -- ASC【升序】 DESC【降序】 排序也可以嵌套 Select SNO, SName, Sage, Sex, MobileNO, StuEMail from student order by Sage ASC , Sex DESC
--- 聚合函数的使用SUM/AVG/MIN/MAX/COUNT --- --11、查询出男生的平均年龄 Select avg(Sage) As '男生的平均年龄' from student where Sex = '男'
--12、查询出有多少位学生借书 Select Count(Distinct SNO) As '借书的学生数量' from BorrowBook
--- 嵌套查询、多表查询---
--13、查询出借过书的同学的姓名 (distinct) Select SName As '借过书的学生姓名' from student Where SNO in ( Select Distinct SNO from BorrowBook )
--14、查询出年龄最大的学生的学号和姓名 (max) Select SNo As '学号',SName AS '姓名' from Student where Sage = ( Select Max(Sage) from Student )
--15、查询出计算机类的图书总共有多少本 Select Sum(BookSumNo) As '计算机类的图书数量' from Book where BookTypeID = ( Select BookTypeID From BookType Where TypeName = '计算机' )
--16、统计出每一类书中的最高的价格 使用两张表:Book,BookType Select T2.TypeName AS '类别名称',T1.maxPrice As '最高价格' from ( Select BookTypeId,MAX(BookPrice) As 'maxPrice' from Book Group by BookTypeID ) As T1, BookType As T2 Where T1.BookTypeID = T2.ID --17、查询出借的最多的书的名称 Select BookName AS '借的最多的图书名称' from Book where BookId In ( --获得借的最多的书的图书编号 Select BookId from BorrowBook Group by BookId Having count(*) = ( -- 获得借的最多的书的数量 Select Top 1 count(*) from BorrowBook Group by BookId order by count(*) DESC ) )
--- 完整备份 --- backup database [数据库名] to [备份设备名] with init --- 完整备份还原 --- --recovery表示此次还原是最后一次还原,如果是norecovery则表示接下来还有还原操作 restore database [数据库名] from [备份设备名] with file=1,recovery
--- 差异备份 --- backup database [数据库名] to [备份设备名] with differential,noinit --- 差异备份还原 --- --先还原最近的一次完整备份数据 restore database [数据库名] from [备份设备名] with file=1,norecovery --再还原最近一次的差异备份数据 restore database [数据库名] from [备份设备名] with file=2,recovery
--- 事务日志备份 ---- backup log [数据库名] to [备份设备名] --- 事务日志备份还原 --- --先还原最近的一次完整备份数据 restore database [数据库名] from [备份设备名] with file=1,norecovery --再还原最近一次的差异备份数据,stopat表示把数据还原到这一时间点前 restore database [数据库名] from [备份设备名] with file=2,stopat='2018-09-06 11:00:00',recovery